package com.study.sbsummary.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author: biturd
 * @date: 2022/3/24 21:52
 * @description:
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(autoResultMap = true)
// 但是这个autoResultMap并不能使用在自定义的方法上，只在MyBatis Plus内置方法上生效。
// <result property="advance" column="advance"
//   typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
public class Doc implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 文章标识docid
     */
    private String docid;

    /**
     * 文章全局唯一标识
     */
    private String uuid;

    /**
     * 作者uid
     */
    private Long userid;

    /**
     * 图片数组
     */
    // 原来为varchar
    @TableField(typeHandler = JacksonTypeHandler.class)
    private String imageUrls;

    /**
     * 1:已通过机器申请,2:等待人工审核,3:人工审核成功,4:人工审核失败,5:入库成功,6:文章下线,7:先发后审成功,8:入库失败,9:预发布状态，10.已隐藏 11注销删除 12封号删除
     */
    private Integer status;

    /**
     * 删除标识(删除仅代表在用户文章管理页不可见)
     */
    private Boolean removed;

    /**
     * ctype=duanneirong/video
     */
    private String ctype;

    /**
     * 内容
     */
    private String content;

    /**
     * 标题
     */
    private String title;

    /**
     * 原图图片数组
     */
    private String imageUrlsOrigin;

    /**
     * 用户地理位置
     */
    private String writerLocation;

    /**
     * ugc更新时间
     */
    private LocalDateTime updateTime;

    /**
     * ugc上传时间
     */
    private LocalDateTime createTime;

    /**
     * 文章来源：localside
     */
    private String appid;

    /**
     * 文章来源：客户端发文app、爬虫crawler、工具web_tool
     */
    @TableField("`from`")
    private String from;

    /**
     * 文章被分享的次数
     */
    private Integer shareCount;

    /**
     * 文章被收藏的次数
     */
    private Integer collectCount;

    /**
     * 文章被评论的次数
     */
    private Integer commentCount;

    /**
     * fake的评论数
     */
    private Integer commentFake;

    /**
     * 文章被点赞的次数
     */
    private Integer likeCount;

    /**
     * fake的点赞数
     */
    private Integer likeFake;

    /**
     * 子类型
     */
    @TableField("`csubtype`")
    private String csubtype;

    /**
     * 音乐id
     */
    private String musicId;

    /**
     * 相纸包id
     */
    private Integer parcelId;

    /**
     * 低质标准
     */
    private Integer low;

    /**
     * 视频的宽
     */
    private Integer vWidth;

    /**
     * 视频的高
     */
    private Integer vHeight;

    /**
     * 金山云视频的地址
     */
    private String videoUrl;

    /**
     * 金山云视频的id
     */
    private String videoId;

    /**
     * 视频时长(单位:秒)
     */
    private Integer duration;

    /**
     * 视频大小(单位：byte)
     */
    private Integer videoSize;

    /**
     * 普通发文=1；新人礼导入发文=2；活动=3
     */
    private Integer docType;
}
